//工具函数
export  function parmaSort(keyObj){
    var keyArr = [];
  for (var key in keyObj) {
    keyArr.push(key);
  }

    // alert(appKey)
    // var appKey = appKey + "";
    var reaKryArr = keyArr.sort();
    // console.log(reaKryArr)
    var newArrStr = "";
    for (var i = 0; i < keyArr.length; i++) {
      newArrStr += reaKryArr[i] + "=" + keyObj[reaKryArr[i]] + "&";
    }

    var str = newArrStr.substr(0, newArrStr.length - 1);
    // console.log("newStr",str)
    return str

  // console.log(str);
}


// unicode解密
export function uncompileStr(code){
    code=unescape(code); 
    var c=String.fromCharCode(code.charCodeAt(0)-code.length); 
    for(var i=1;i<code.length;i++)
    { 
    c+=String.fromCharCode(code.charCodeAt(i)-c.charCodeAt(i-1)); 
    } 
    return c;
  }

// unicode 加密
export function   compileStr(code){ //对字符串进行加密 
    var c=String.fromCharCode(code.charCodeAt(0)+code.length);
     for(var i=1;i<code.length;i++)
    { 
    c+=String.fromCharCode(code.charCodeAt(i)+code.charCodeAt(i-1));
     } 
    return escape(c); 
}

//  获取url的参数
/**
 *  @param { window.location.search } url
 */
export function getSearchString(key, Url) {
    var str = Url;
    str = str.substring(1, str.length); // 获取URL中?之后的字符（去掉第一位的问号）
    // 以&分隔字符串，获得类似name=xiaoli这样的元素数组
    var arr = str.split("&");
    var obj = new Object();

    // 将每一个数组元素以=分隔并赋给obj对象 
    for (var i = 0; i < arr.length; i++) {
        var tmp_arr = arr[i].split("=");
        obj[decodeURIComponent(tmp_arr[0])] = decodeURIComponent(tmp_arr[1]);
    }
    return obj[key];
}
export function isHttp(str){
  var reg= /(http|https):\/\/([\w.]+\/?)\S*/　
  var r = str.match(reg); 
  if(r){
      return true
  }else{
      return false
  }
 }

 /**
  * 
  * @param { window.location.search } str 
  */
export function getWebsiteStringObj (str){
  var newString=str.split("?")[1]

   var arr = newString.split("&");
   var obj = new Object();

   // 将每一个数组元素以=分隔并赋给obj对象 
   for (var i = 0; i < arr.length; i++) {
       var tmp_arr = arr[i].split("=");
       obj[decodeURIComponent(tmp_arr[0])] = decodeURIComponent(tmp_arr[1]);
   }
   return obj

}

export function isAndroid() {
    if (u.indexOf('Android') > -1 || u.indexOf('Adr') > -1) { // android终端
        return true;
    } else if (!!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)) { // ios终端
        return false;
    }
}

export function timestampToTime(timestamp) {
  // var date = new Date(timestamp * 1000);//时间戳为10位需*1000，时间戳为13位的话不需乘1000
    var date = new Date(timestamp);//时间戳为10位需*1000，时间戳为13位的话不需乘1000
    // alert(date)
  var  Y = date.getFullYear() + '-';
  var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
  var  D = date.getDate() < 10 ? '0'  +date.getDate():date.getDate()+ ' ';

  var  h = date.getHours()< 10 ? '0'+date.getHours()+":"  :date.getHours()+ ':';
  var  m = date.getMinutes()< 10 ? '0'  +date.getMinutes()+":":date.getMinutes()+ ':';
  var  s = date.getSeconds()< 10 ? '0'  +  date.getSeconds()+"": date.getSeconds() ;
  return Y+M+D+"      "+h+m+s;
}

export function formatDateString(timestamp) {
    const date = new Date(parseInt(timestamp) * 1000);
    const year = date.getFullYear();
    const month = parseInt(date.getMonth()) + 1;
    const day = date.getDate();
    return `${year}-${month}-${day}`;
}

 /**
     * 检查email地址
     * @param {String} email email
     */
export function    checkEmail(email) {
        email = email || '';
        return (email.length > 3 && email.indexOf('@') > -1);
    }

    /**
     * 隐藏手机号[手机号前面三位号码和后面三位以*隐藏起来]
     * @param {Number} mobile 手机号码
     */
export function  hideMobile(mobile) {
        if (this.trim(mobile) != '') {
            let ch = '************************************';
            return mobile.substring(0, 3) + ch.substring(0, mobile.length - 6) + mobile.substring(mobile.length - 3)
        }
        return ''
    }
    /** 去掉字符串前后所有空格
     * @param {String} str 
     */
export function    trim(str) {
        return str.replace(/(^\s*)|(\s*$)/g, "");
    }

 /**
     * 对Date的扩展，将 Date 转化为指定格式的String
     * 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符
     * 年(y)可以用 1-4 个占位符，毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
     * (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
     * (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18
     */
export function    dateFormat(date, fmt) {
        var o = {
            "M+": date.getMonth() + 1, //月份 
            "d+": date.getDate(), //日 
            "h+": date.getHours(), //小时 
            "m+": date.getMinutes(), //分 
            "s+": date.getSeconds(), //秒 
            "q+": Math.floor((date.getMonth() + 3) / 3), //季度 
            "S": date.getMilliseconds() //毫秒 
        };
        if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
        for (var k in o)
            if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
        return fmt;
    }

    /**
     * 判断数组是否为空
     * @param {string} value 
     */
export function   arrayIsEmpty(value) {
        return (Array.isArray(value) && value.length === 0) || (Object.prototype.isPrototypeOf(value) && Object.keys(value).length === 0);
    }




//toast 函数组件
export function toast(params) {

    var el = document.createElement("div");
    el.setAttribute("id", "toast");
    // el.setAttribute("font-family", "myfont");
    el.style.fontFamily="myfont"
    el.innerHTML = params.message;
    document.body.appendChild(el);
    el.classList.add("fadeIn");
    setTimeout(function () {
        el.classList.remove("fadeIn");
        el.classList.add("fadeOut");
        el.addEventListener("animationend", function () {
            el.classList.add("hide");
            el.parentElement.removeChild(el)
        });
    }, params.time);

}

// toast 组件样式  放在初始化样式中
// *{
//     /* https://www.jianshu.com/p/1674018f4996 */
//     touch-action: pan-y;
//   }
//   /* toast 样式 */
//   @keyframes fadeIn {
//       0%    {opacity: 0}
//       100%  {opacity: 1}
//     }
//     @-webkit-keyframes fadeIn {
//       0%    {opacity: 0}
//       100%  {opacity: 1}
//     }
//     @-moz-keyframes fadeIn {
//       0%    {opacity: 0}
//       100%  {opacity: 1}
//     }
//     @-o-keyframes fadeIn {
//       0%    {opacity: 0}
//       100%  {opacity: 1}
//     }
//     @-ms-keyframes fadeIn {
//       0%    {opacity: 0}
//       100%  {opacity: 1}
//     }
//     @keyframes fadeOut {
//       0%    {opacity: 1}
//       100%  {opacity: 0}
//     }
//     @-webkit-keyframes fadeOut {
//       0%    {opacity: 1}
//       100%  {opacity: 0}
//     }
//     @-moz-keyframes fadeOut {
//       0%    {opacity: 1}
//       100%  {opacity: 0}
//     }
//     @-o-keyframes fadeOut {
//       0%    {opacity: 1}
//       100%  {opacity: 0}
//     }
//     @-ms-keyframes fadeOut {
//       0%    {opacity: 1}
//       100%  {opacity: 0}
//     }
//     #toast{
//       background: rgba(0, 0, 0, 0.7);
//       color: #fff;
//       font-size: 14px;
//       line-height: 1;
//       padding:10px;
//       border-radius: 3px;
//       position: absolute;
//       left: 50%;
//       top: 50%;
//       /* bottom: 5%; */
//       transform: translate(-50%,-50%);
//       -webkit-transform: translate(-50%,-50%);
//       -moz-transform: translate(-50%,-50%);
//       -o-transform: translate(-50%,-50%);
//       -ms-transform: translate(-50%,-50%);
//       z-index: 9999;
//     }
//     .hide{
//       display: none;
//     }
//     .fadeOut{
//       animation: fadeOut .5s;
//     }
//     .fadeIn{
//       animation:fadeIn .5s;
//     }
  /* toast 样式 */
  